import { defHttp } from '@/utils/http/axios';
import { CouponApiResult, CouponInsertOrUpdateForm } from './model/CouponModel';

enum Api {
  REST = '/api/v1/coupons',
}

/**
 * 优惠券信息-分页列表
 */
export const listCouponApi = (queryForm: any) => {
  // 选择的是日期，补全时分秒部分
  if (queryForm.beginAt) {
    queryForm.beginAt += ' 00:00:00';
  }

  if (queryForm.endAt) {
    queryForm.endAt += ' 23:59:59';
  }

  return defHttp.get<CouponApiResult[]>({
    url: Api.REST,
    params: queryForm,
  });
};

/**
 * 优惠券信息-详情
 */
export const retrieveCouponApi = (id: string) => {
  return defHttp.get<CouponApiResult>({
    url: `${Api.REST}/${id}`,
  });
};

/**
 * 优惠券信息-新增
 */
export const insertCouponApi = (insertForm: CouponInsertOrUpdateForm) => {
  return defHttp.post<void>({
    url: Api.REST,
    params: insertForm,
  });
};

/**
 * 优惠券信息-编辑
 */
export const updateCouponApi = (id: string, updateForm: CouponInsertOrUpdateForm) => {
  return defHttp.put<void>({
    url: `${Api.REST}/${id}`,
    params: updateForm,
  });
};

/**
 * 优惠券信息-删除
 */
export const deleteCouponApi = (ids: string[]) => {
  return defHttp.delete<void>({
    url: Api.REST,
    params: {
      ids: ids,
    },
  });
};
